﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.creditos.be.liclVerifica;
using com.creditos.dao.sql;

namespace com.creditos.dao.liclVerifica
{
    public class BandejaVerificacionDAO
    {
        public static List<BandejaVerificacionBE> ObtenerListaTipoVerificacion()
        {
            List<BandejaVerificacionBE> lstVerificacion = new List<BandejaVerificacionBE>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerTipoVerificacion";            
            lstVerificacion = (List<BandejaVerificacionBE>)ElManager.EjecutarStore<BandejaVerificacionBE>(oCmd, DataBase.CREDITO_WEB);
            return lstVerificacion;
        }

        public static List<BandejaVerificacionBE> ObtenerListaVerificacionPendiente(BandejaVerificacionBE oVerificacion)
        {
            List<BandejaVerificacionBE> lstVerificacion = new List<BandejaVerificacionBE>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerListaVerificacionPendiente";
            oCmd.AddParameter("@Accion", 1);
            oCmd.AddParameter("@TipoVerificacion", oVerificacion.TipoVerificacion);
            lstVerificacion = (List<BandejaVerificacionBE>)ElManager.EjecutarStore<BandejaVerificacionBE>(oCmd, DataBase.CREDITO_WEB);
            return lstVerificacion;
        }


        public static List<BandejaVerificacionBE> ObtenerDatosIntegranteVerificacion(BandejaVerificacionBE oVerificacion)
        {
            List<BandejaVerificacionBE> lstVerificacion = new List<BandejaVerificacionBE>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ObtenerDatosIntegranteVerificacion";
            oCmd.AddParameter("@Accion", 1);
            oCmd.AddParameter("@NroSolicitud", oVerificacion.NumeroSolicitud);
            oCmd.AddParameter("@CodIntegrante", oVerificacion.CodigoIntegrante);
            oCmd.AddParameter("@CodVerificacion", oVerificacion.CodigoVerificacion);
            lstVerificacion = (List<BandejaVerificacionBE>)ElManager.EjecutarStore<BandejaVerificacionBE>(oCmd, DataBase.CREDITO_WEB);
            return lstVerificacion;
        }

        public static List<BandejaVerificacionBE> ActualizarVerificacionDomicilioFisica(BandejaVerificacionBE oVerificacion)
        {
            List<BandejaVerificacionBE> lstVerificacion = new List<BandejaVerificacionBE>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ActualizarVerificacionDomicilioFisica";
            oCmd.AddParameter("@Accion", 1);
            oCmd.AddParameter("@NroSolicitud", oVerificacion.NumeroSolicitud);
            oCmd.AddParameter("@CodIntegrante", oVerificacion.CodigoIntegrante);
            oCmd.AddParameter("@CodVerificacion", oVerificacion.CodigoVerificacion);
            oCmd.AddParameter("@FechaVisita", oVerificacion.FechaVisita);
            oCmd.AddParameter("@CodEstadoCivil", oVerificacion.CodigoEstadoCivil);
            oCmd.AddParameter("@CodTipoInmueble", oVerificacion.CodigoTipoInmueble);
            oCmd.AddParameter("@CodEstadoVivienda", oVerificacion.CodigoEstadoVivienda);
            oCmd.AddParameter("@CodHabitaSolicitante", oVerificacion.CodigoHabitaSolicitante);
            oCmd.AddParameter("@CodUbicacionInmueble", oVerificacion.CodigoUbicacionInmueble);
            oCmd.AddParameter("@FlagReside", oVerificacion.FlagReside);
            oCmd.AddParameter("@CodTipoZona", oVerificacion.CodigoTipoZona);
            oCmd.AddParameter("@CodTipoConstruccion", oVerificacion.CodigoTipoConstruccion);
            oCmd.AddParameter("@CodTipoServicioBasico", oVerificacion.CodigoTipoServicioBasico);
            oCmd.AddParameter("@CodHabitaAlguien", oVerificacion.CodigoHabitaAlguien);
            oCmd.AddParameter("@CodMedioComunicacion", oVerificacion.CodigoMedioComunicacion);
            oCmd.AddParameter("@CodAtendido", oVerificacion.CodigoAtendido);
            oCmd.AddParameter("@ValAnnoResidencia", oVerificacion.ValorAnnoResidencia);
            oCmd.AddParameter("@ValMesResidencia", oVerificacion.ValorMesResidencia);
            oCmd.AddParameter("@DesEntrevistado", oVerificacion.DescripcionEntrevistado);
            oCmd.AddParameter("@CodParentesco", oVerificacion.CodigoParentesco);
            oCmd.AddParameter("@CodResultado", oVerificacion.CodigoResultado);
            oCmd.AddParameter("@DesObservacion", oVerificacion.DescripcionObservacion);
            oCmd.AddParameter("@CodUsuario", oVerificacion.CodigoUsuario);
            oCmd.AddParameter("@CodEstado", oVerificacion.CodigoEstado);
            lstVerificacion = (List<BandejaVerificacionBE>)ElManager.EjecutarStore<BandejaVerificacionBE>(oCmd, DataBase.CREDITO_WEB);
            return lstVerificacion;
        }

        public static List<BandejaVerificacionBE> ActualizarVerificacionTrabajoFisica(BandejaVerificacionBE oVerificacion)
        {
            List<BandejaVerificacionBE> lstVerificacion = new List<BandejaVerificacionBE>();
            Comando oCmd = new Comando();
            oCmd.CommandName = "PRC_ActualizarVerificacionTrabajoFisica";
            oCmd.AddParameter("@Accion", 1);
            oCmd.AddParameter("@NroSolicitud", oVerificacion.NumeroSolicitud);
            oCmd.AddParameter("@CodIntegrante", oVerificacion.CodigoIntegrante);
            oCmd.AddParameter("@CodVerificacion", oVerificacion.CodigoVerificacion);
            oCmd.AddParameter("@FechaVisita", oVerificacion.FechaVisita);
            oCmd.AddParameter("@FlagLabora", oVerificacion.FlagLabora);            
            oCmd.AddParameter("@CodTipoInmueble", oVerificacion.CodigoTipoInmueble);
            oCmd.AddParameter("@CodTipoZona", oVerificacion.CodigoTipoZona);
            oCmd.AddParameter("@CodTipoConstruccion", oVerificacion.CodigoTipoConstruccion);
            oCmd.AddParameter("@CodEstadoInmueble", oVerificacion.CodigoEstadoVivienda);
            oCmd.AddParameter("@CodMedioComunicacion", oVerificacion.CodigoMedioComunicacion);
            oCmd.AddParameter("@CodTipoContrato", oVerificacion.CodigoTipoContrato);
            oCmd.AddParameter("@ValTiempoEmpleo", oVerificacion.ValorTiempoEmpleo);
            oCmd.AddParameter("@ValIngresos", oVerificacion.ValorIngresos);
            oCmd.AddParameter("@CodMonedaIngresos", oVerificacion.CodigoMonedaIngresos);
            oCmd.AddParameter("@CodBaseSueldo", oVerificacion.CodigoBaseSueldo);
            oCmd.AddParameter("@CodFrecuenciaPago", oVerificacion.CodigoFrecuenciaPago);
            oCmd.AddParameter("@CodPropietario", oVerificacion.CodigoPropietario);
            oCmd.AddParameter("@CodAtendido", oVerificacion.CodigoAtendido);
            oCmd.AddParameter("@CodLabora", oVerificacion.CodigoLabora);
            oCmd.AddParameter("@DesEntrevistado", oVerificacion.DescripcionEntrevistado);
            oCmd.AddParameter("@DesCargoEntrevistado", oVerificacion.DescripcionCargoEntrevistado);
            oCmd.AddParameter("@CodResultado", oVerificacion.CodigoResultado);
            oCmd.AddParameter("@DesObservacion", oVerificacion.DescripcionObservacion);            
            oCmd.AddParameter("@CodEstado", oVerificacion.CodigoEstado);
            oCmd.AddParameter("@CodUsuario", oVerificacion.CodigoUsuario);
            lstVerificacion = (List<BandejaVerificacionBE>)ElManager.EjecutarStore<BandejaVerificacionBE>(oCmd, DataBase.CREDITO_WEB);
            return lstVerificacion;
        }





    }
}
